嘿,大家好!今天我們來聊聊如何設計一個飯店預訂系統的測試案例。這是一個我經常會用來測試分析能力和設計策略的練習,因為這樣的系統不僅場景複雜,而且能碰到很多實際情況,像是訂房變更、付款失敗、甚至是房間損壞等問題。
我們會用一種叫 Soap Opera Testing 的方法,這是一種有趣且實用的測試技巧,來自 Hans Buwalda。他的思路就是將測試場景變得像「肥皂劇」一樣,透過使用者的角度去描述一連串可能發生的情境,找到系統的潛在問題。
Soap Opera Testing 就像是一部充滿波折的肥皂劇劇情,不同的使用者會經歷各種突發狀況,這種方法最適合複雜且變動多的系統測試。具體來說,我們會圍繞某個使用者來設定場景,看看隨著訂房流程的變化,系統是否能穩健運作,並且能夠應對所有的變動。
我們今天的挑戰是:利用 Soap Opera Testing 來設計飯店預訂系統的測試案例,涵蓋從訂房、取消到重新訂房及付款問題等場景,目標是覆蓋大部分使用者可能遇到的情境。
讓我們設計一下使用者 Emily 的預訂過程,她的行程變動非常多,整個預訂系統都會被她搞得一團亂!她的故事如下:
針對 Emily 的故事,我們需要驗證以下幾個重要的功能點:
測試案例名稱 | 初始條件 | 測試步驟 | 預期結果 | 重要檢查點 |
---|---|---|---|---|
案例 1:成功預訂房間 | 無預訂 | 1. 選擇 10 月 1 日至 10 月 5 日2. 提交預訂並付款 | 成功生成預訂,系統寄出確認郵件和付款記錄 | 1. 系統生成正確的預訂號碼2. 確認郵件準確發送 |
案例 2:修改入住日期 | 已預訂 10 月 1 日至 10 月 5 日 | 1. 將入住日期改為 9 月 30 日2. 更新預訂並付款 | 預訂更新成功,確認信息和房價相應修改 | 1. 日期與價格更新正確2. 發送新的確認郵件 |
案例 3:部分取消預訂 | 已預訂 9 月 30 日至 10 月 5 日 | 1. 取消 10 月 1 日至 10 月 2 日的預訂2. 系統部分退款 | 成功取消,退款處理正確,更新確認郵件發送 | 1. 取消部分日期準確2. 退款完善3. 確認郵件準確發送 |
案例 4:重新訂房 | 已取消部分日期的預訂 | 1. 重新訂 10 月 1 日至 10 月 5 日2. 提交預訂並付款 | 成功生成新預訂,系統發送確認郵件 | 1. 生成新的預訂號碼2. 郵件發送準確 |
案例 5:付款失敗後重試 | 正在付款 | 1. 嘗試付款失敗2. 解決問題後重新付款 | 成功完成付款,系統發送付款確認郵件 | 1. 錯誤提示是否正確2. 付款成功後郵件是否正確發送 |
案例 6:重複訂房取消 | 已重複訂房 | 1. 發現重複訂兩間房2. 取消其中一間房 | 成功取消重複訂房,退款處理完善 | 1. 確認多餘的房間被取消2. 部分退款處理準確 |
案例 7:延長住宿申請 | 已入住 | 1. 提出延長住宿申請2. 系統檢查房間是否可用 | 房間已被預訂,系統正確提示無法延長 | 1. 系統是否正確提示房間無法延長 |
案例 8:損壞賠償處理 | 已入住 | 1. 房間設施損壞2. 系統生成賠償費用 | 系統生成賠償費用,並記錄到最終帳單 | 1. 損壞賠償計算正確2. 記錄賠償費用到帳單 |
案例 9:最終帳單生成 | 退房 | 1. 系統生成最終帳單2. 檢查取消、訂房、損壞賠償的費用是否正確計算 | 成功生成最終帳單,系統寄出帳單郵件 | 1. 費用計算正確2. 帳單準確寄送 |
透過 Soap Opera Testing 的測試方法,我們可以從使用者的角度,快速發現系統在複雜情境下的潛在問題。這種方法非常適合針對具有多樣化使用者行為和複雜流程的系統進行測試。
所以,如果你的系統經常會遇到各種不同的使用情境,不妨試試用這種「肥皂劇」式的測試法,不僅有趣,也能有效覆蓋大部分邊界和異常情況!